<?php

namespace App\Http\Controllers;

use App\Http\Requests\PasswordRequest;
use Illuminate\Http\Request;
use Auth;
//1.创建控制器
//2.设置路由
//3.创建模板
//4.先是修改页面的用户名
//5.增加实现修改密码的方法 并配置路由
//6.创建中间件 make:middleware
//创建资源控制器 make:controller user --resource
class Password extends Controller
{

    //添加构造方法
    public function __construct()
    {
        //调用中间件
        $this->middleware('checkLogin');

    }


    //加载模板页面
    public function index(){
        //创建模板
        return view('password');

    }

    /**
     * 修改资料
     */
    public function ChangePassword(Request $request,PasswordRequest $passwordRequest){
        //1.依懒注入
        //2.查看post请求的数据 获取post数据
        $post = $request->all();
        //dd($post);
        //3.创建修改资料的验证规则  make:request PasswordRequest
        //生成app\http\request\PasswordRequest
        //4.获取当前用户的旧数据
        $user = Auth::user();
        //dd($user);
        //5.修改用户名
        $user->name = $post['name'];
        //6.判断是否填写了密码，如果填写了，修改密码
        //在这里不管有没有旧数据 都可以修改
        // 解决：在User.php模型中去掉$hidden中的password
        if ($post['password']){
            $user->password = bcrypt($post['password']);
        }
        //7.存入数据库
        $user->save();
         //8.设置闪存信息
         session()->flash('success','修改成功');
        //9.跳转页面
        return redirect('/');
    }

}
